|
(*~\Глагол\Отделы\Числа~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
(**) ОТДЕЛ Компл;
(*============================================================================*
* НАЗНАЧЕНИЕ: функции комплексной переменной
*----------------------------------------------------------------------------*
* ПРИМЕЧАНИЯ: после вызова задачи переменная <Матем.код> может стать # 0,
* это означает, что ответ задачи содержит не результат вычислений, а
* особое значение.
* Источники, ссылки, библиография
*============================================================================*)
ИСПОЛЬЗУЕТ
Матем;
ВИД
Вещ = Матем.Вещ;
(* Вид обрабатываемых данных - набор из двух вещ-ных: < действительное,мнимое > *)
Вид-=НАБОР
x-,y-:Вещ
КОН;
ПЕР (* переменные для комплексных ПОСТоянных *)
НОЛЬ- :Вид; (* (0; 0) *)
ОДИН- :Вид; (* (1; 0) *)
МНИМЕД- :Вид; (* (0; 1) *)
МАКСВЕЩ-:Вид; (* (МАКСВЕЩ; 0) *)
ПИД2- :Вид; (* (ПИ/2; 0) *)
NBS:РЯД 8 ИЗ Вещ; (* для Г-функции *)
(*-оооооооооооооо- опережающие определения/заготовки задач -ооооооооооооооооо-*)
ЗАДАЧА^ знак-(z-:Вид):ЦЕЛ;
ЗАДАЧА^ обмен-(к1+,к2+:Вид);
ЗАДАЧА^ алгВид-(x,y:Вещ; к+:Вид); (* к:=x+i*y *)
ЗАДАЧА^ тригВид-(r,тета:Вещ; к+:Вид); (* к:=r*exp(i*тета) *)
ЗАДАЧА^ мод-(z-:Вид):Вещ; (* |z| *)
ЗАДАЧА^ arg-(z-:Вид):Вещ; (* arg(z) *)
ЗАДАЧА^ отр-(z-,к+:Вид); (* к:=-z *)
ЗАДАЧА^ сопр-(z-,к+:Вид); (* к:=z* *)
ЗАДАЧА^ доб-(a-,b-,к+:Вид); (* к:=a+b *)
ЗАДАЧА^ выч-(a-,b-,к+:Вид); (* к:=a-b *)
ЗАДАЧА^ умн-(a-,b-,к+:Вид); (* к:=a*b *)
ЗАДАЧА^ умнВ-(a-:Вид; b:Вещ; к+:Вид); (* к:=a*b *)
ЗАДАЧА^ дел-(a-,b-,к+:Вид); (* к:=a/b *)
ЗАДАЧА^ делВ-(a-:Вид; b:Вещ; к+:Вид); (* к:=a/b *)
(*----------------------------------------------------------------------------*
* Тригонометрические функции
*----------------------------------------------------------------------------*)
ЗАДАЧА^ sin-(z-,к+:Вид);
ЗАДАЧА^ arcsin-(z-,к+:Вид);
ЗАДАЧА^ cos-(z-,к+:Вид);
ЗАДАЧА^ arccos-(z-,к+:Вид);
ЗАДАЧА^ tg-(z-,к+:Вид);
ЗАДАЧА^ arctg-(z-,к+:Вид);
(*----------------------------------------------------------------------------*
* Логарифмические, показательные и степенные функции
*----------------------------------------------------------------------------*)
ЗАДАЧА^ exp-(z-,к+:Вид);
ЗАДАЧА^ ln-(z-,к+:Вид);
ЗАДАЧА^ lnГ-(z-,к+:Вид); (* к:=ln Г(z) *)
ЗАДАЧА^ степКЦ-(z-:Вид; n:ЦЕЛ; к+:Вид); (* к:=zn *)
ЗАДАЧА^ степКВ-(z-:Вид; x:Вещ; к+:Вид); (* к:=zx *)
ЗАДАЧА^ степКК-(a-,b-,к+:Вид); (* к:=ab *)
ЗАДАЧА^ квкор-(z-,к+:Вид); (* к:=квкор(z) *)
ЗАДАЧА^ кор-(z-:Вид; m,n:ЦЕЛ; к+:Вид); (* к:=z(1/n), m=0..n-1 *)
(*----------------------------------------------------------------------------*
* Гиперболические функции (вещественного и комплексного аргумента)
*----------------------------------------------------------------------------*)
ЗАДАЧА^ sh-(z-,к+:Вид);
ЗАДАЧА^ ch-(z-,к+:Вид);
ЗАДАЧА^ th-(z-,к+:Вид);
ЗАДАЧА^ Arsh-(z-,к+:Вид);
ЗАДАЧА^ Arch-(z-,к+:Вид);
ЗАДАЧА^ Arth-(z-,к+:Вид);
(*=рррррррррррррррррррррррр= реализация задач =рррррррррррррррррррррррррррррр=*)
(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
ЗАДАЧА знак-(z-:Вид):ЦЕЛ;
УКАЗ
ЕСЛИ z.x > 0 ТО
ВОЗВРАТ 1
АЕСЛИ z.x < 0 ТО
ВОЗВРАТ -1
АЕСЛИ z.y > 0 ТО
ВОЗВРАТ 1
АЕСЛИ z.y < 0 ТО
ВОЗВРАТ -1
ИНАЧЕ
ВОЗВРАТ 0
КОН
КОН знак;
(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
ЗАДАЧА обмен-(к1+,к2+:Вид);
ПЕР
врем:Вид;
УКАЗ
врем:=к1;
к1:=к2;
к2:=врем
КОН обмен;
(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
ЗАДАЧА алгВид-(x,y:Вещ; к+:Вид);
УКАЗ
к.x:=x;
к.y:=y
КОН алгВид;
(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
ЗАДАЧА тригВид-(r,тета:Вещ; к+:Вид);
УКАЗ
алгВид(r*Матем.cos(тета), r*Матем.sin(тета), к)
КОН тригВид;
(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
ЗАДАЧА мод-(z-:Вид):Вещ;
УКАЗ
ВОЗВРАТ Матем.Пифагор(z.x,z.y)
КОН мод;
(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
ЗАДАЧА arg-(z-:Вид):Вещ;
УКАЗ
ВОЗВРАТ Матем.arctg2(z.y,z.x)
КОН arg;
(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
ЗАДАЧА отр-(z-,к+:Вид);
УКАЗ
алгВид(-z.x, -z.y, к)
КОН отр;
(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
ЗАДАЧА сопр-(z-,к+:Вид);
УКАЗ
алгВид(z.x, -z.y, к)
КОН сопр;
(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
ЗАДАЧА доб-(a-,b-,к+:Вид);
УКАЗ
алгВид(a.x+b.x, a.y+b.y, к)
КОН доб;
(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
ЗАДАЧА выч-(a-,b-,к+:Вид);
УКАЗ
алгВид(a.x-b.x, a.y-b.y, к)
КОН выч;
(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
ЗАДАЧА умн-(a-,b-,к+:Вид);
УКАЗ
алгВид(a.x*b.x-a.y*b.y, a.x*b.y+a.y*b.x, к)
КОН умн;
(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
ЗАДАЧА умнВ-(a-:Вид; b:Вещ; к+:Вид);
УКАЗ
алгВид(a.x*b, a.y*b, к)
КОН умнВ;
(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
ЗАДАЧА дел-(a-,b-,к+:Вид);
ПЕР
врем:Вещ;
УКАЗ
ЕСЛИ (b.x = 0) И (b.y = 0) ТО
Матем.код:=Матем.ПЕРЕПОЛНЕНИЕ;
к:=МАКСВЕЩ;
ВОЗВРАТ
КОН;
врем:=Матем.кв(b.x)+Матем.кв(b.y);
алгВид((a.x*b.x+a.y*b.y)/врем, (a.y*b.x-a.x*b.y)/врем, к)
КОН дел;
(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
ЗАДАЧА делВ-(a-:Вид; b:Вещ; к+:Вид);
УКАЗ
алгВид(a.x/b, a.y/b, к)
КОН делВ;
(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
ЗАДАЧА кор-(z-:Вид; m,n:ЦЕЛ; к+:Вид);
(* Задача кор должна вычислить все 'n' корней 'a' изменяя 'm' от 0 до n-1 *)
ПЕР
r,тета:Вещ;
УКАЗ
ЕСЛИ (n <= 0) ИЛИ (m < 0) ИЛИ (m >= n) ТО
Матем.код:=Матем.ВНЕОБЛАСТИ;
к:=НОЛЬ;
ВОЗВРАТ
КОН;
r:=мод(z);
тета:=arg(z);
ЕСЛИ r = 0 ТО
к:=НОЛЬ
ИНАЧЕ
тригВид(Матем.степВВ(r,1/n),Матем.уголВПи((тета+m*Матем.ПИ2)/n),к)
КОН
КОН кор;
(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
ЗАДАЧА квкор-(z-,к+:Вид);
ПЕР
r,тета:Вещ;
УКАЗ
r:=мод(z);
тета:=arg(z);
ЕСЛИ r = 0 ТО
к:=НОЛЬ
ИНАЧЕ
тригВид(Матем.квкор(r),Матем.уголВПи(0.5*тета),к)
КОН
КОН квкор;
(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
ЗАДАЧА cos-(z-,к+:Вид);
ПЕР
sinx,cosx,sinhy,coshy:Вещ;
УКАЗ
Матем.sincos(z.x,sinx,cosx);
Матем.shch(z.y,sinhy,coshy);
алгВид(cosx*coshy,-sinx*sinhy,к)
КОН cos;
(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
ЗАДАЧА sin-(z-,к+:Вид);
ПЕР
sinx,cosx,sinhy,coshy:Вещ;
УКАЗ
Матем.sincos(z.x,sinx,cosx);
Матем.shch(z.y,sinhy,coshy);
алгВид(sinx*coshy,cosx*sinhy,к)
КОН sin;
(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
ЗАДАЧА arctg-(z-,к+:Вид);
ПЕР
zx,Yp1,Ym1:Вещ;
УКАЗ
ЕСЛИ (z.x = 0) И (МОДУЛЬ(z.y) = 1) ТО (* z = +/- i *)
Матем.код:=Матем.ОСОБЕННОСТЬ;
алгВид(0, Матем.знак2(Матем.МАКСВЕЩ,z.y), к);
ВОЗВРАТ
КОН;
zx:=Матем.кв(z.x);
Yp1:=z.y+1;
Ym1:=z.y-1;
алгВид(0.5*(Матем.arctg2(z.x,-Ym1)-Матем.arctg2(-z.x,Yp1)),
0.25*Матем.ln((zx+Матем.кв(Yp1))/(zx+Матем.кв(Ym1))),
к)
КОН arctg;
(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
ЗАДАЧА exp-(z-,к+:Вид);
ПЕР
expx:Вещ;
УКАЗ
expx:=Матем.exp(z.x);
ЕСЛИ Матем.код = 0 ТО
алгВид(expx*Матем.cos(z.y), expx*Матем.sin(z.y), к)
ИНАЧЕ
алгВид(expx, 0, к)
КОН
КОН exp;
(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
ЗАДАЧА ln-(z-,к+:Вид);
ПЕР
r,тета,lnr:Вещ;
УКАЗ
r:=мод(z);
тета:=arg(z);
lnr:=Матем.ln(r);
ЕСЛИ Матем.код = 0 ТО
алгВид(lnr, тета, к)
ИНАЧЕ
алгВид(-Матем.МАКСВЕЩ, 0, к)
КОН
КОН ln;
(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
ЗАДАЧА степКЦ-(z-:Вид; n:ЦЕЛ; к+:Вид);
ПЕР
r,тета:Вещ;
УКАЗ
r:=мод(z);
тета:=arg(z);
ЕСЛИ r = 0 ТО
ЕСЛИ n = 0 ТО
к:=ОДИН
АЕСЛИ n > 0 ТО
к:=НОЛЬ
ИНАЧЕ
Матем.код:=Матем.ОСОБЕННОСТЬ;
к:=МАКСВЕЩ;
КОН
ИНАЧЕ
тригВид(Матем.степВЦ(r,n),Матем.уголВПи(n*тета),к)
КОН
КОН степКЦ;
(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
ЗАДАЧА степКВ-(z-:Вид; x:Вещ; к+:Вид);
ПЕР
r,тета:Вещ;
УКАЗ
r:=мод(z);
тета:=arg(z);
ЕСЛИ r = 0 ТО
ЕСЛИ x = 0 ТО
к:=ОДИН
АЕСЛИ x > 0 ТО
к:=НОЛЬ
ИНАЧЕ
Матем.код:=Матем.ОСОБЕННОСТЬ;
к:=МАКСВЕЩ;
КОН
ИНАЧЕ
тригВид(Матем.степВВ(r,x),Матем.уголВПи(x*тета),к)
КОН
КОН степКВ;
(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
ЗАДАЧА степКК-(a-,b-,к+:Вид);
ПЕР
к1:Вид;
УКАЗ
ЕСЛИ (a.x = 0) И (a.y = 0) ТО
ЕСЛИ (b.x = 0) И (b.y = 0) ТО
к:=ОДИН (* lim aa = 1 при a -> 0 *)
ИНАЧЕ
к:=НОЛЬ (* 0b = 0, b > 0 *)
КОН
ИНАЧЕ
ln(a,к); (* ab = exp(b*ln(a)) *)
умн(b,к,к1);
exp(к1,к)
КОН
КОН степКК;
(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
ЗАДАЧА tg-(z-,к+:Вид);
ПЕР
sinx2,cosx2,sinhy2,coshy2,врем:Вещ;
УКАЗ
Матем.sincos(2*z.x,sinx2,cosx2);
Матем.shch(2*z.y,sinhy2,coshy2);
ЕСЛИ Матем.код = 0 ТО
врем:=cosx2+coshy2
ИНАЧЕ
врем:=coshy2
КОН;
ЕСЛИ врем # 0 ТО
алгВид(sinx2/врем,sinhy2/врем,к)
ИНАЧЕ
(* z = ПИ/2+k*ПИ *)
Матем.код:=Матем.ОСОБЕННОСТЬ;
к:=МАКСВЕЩ
КОН
КОН tg;
(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
ЗАДАЧА arcsin-(z-,к+:Вид);
ПЕР
rp,rm,s,врем,zx2:Вещ;
b:Вид;
УКАЗ
алгВид(z.y,-z.x,b); (* y-i*x *)
zx2:=2*z.x;
s:=Матем.кв(z.x)+Матем.кв(z.y)+1;
rp:=0.5*Матем.квкор(s+zx2);
rm:=0.5*Матем.квкор(s-zx2);
врем:=rp+rm;
алгВид(Матем.arcsin(rp-rm),знак(b)*Матем.ln(врем+Матем.квкор(Матем.кв(врем)-1)),к);
КОН arcsin;
(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
ЗАДАЧА arccos-(z-,к+:Вид);
ПЕР
к1:Вид;
УКАЗ
arcsin(z,к1); (* ПИ/2-arcsin(z) *)
выч(ПИД2,к1,к)
КОН arccos;
(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
ЗАДАЧА sh-(z-,к+:Вид);
ПЕР
shx,chx:Вещ;
УКАЗ
Матем.shch(z.x,shx,chx);
алгВид(shx*Матем.cos(z.y),chx*Матем.sin(z.y),к)
КОН sh;
(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
ЗАДАЧА ch-(z-,к+:Вид);
ПЕР
shx,chx:Вещ;
УКАЗ
Матем.shch(z.x,shx,chx);
алгВид(chx*Матем.cos(z.y),shx*Матем.sin(z.y),к)
КОН ch;
(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
ЗАДАЧА th-(z-,к+:Вид);
ПЕР
x2,y2,siny2,cosy2,shx2,chx2,врем:Вещ;
УКАЗ
x2:=2*z.x;
y2:=2*z.y;
Матем.sincos(y2,siny2,cosy2);
Матем.shch(x2,shx2,chx2);
ЕСЛИ Матем.код = 0 ТО
врем:=chx2+cosy2
ИНАЧЕ
врем:=chx2
КОН;
ЕСЛИ врем # 0 ТО
алгВид(shx2/врем, siny2/врем, к)
ИНАЧЕ
(* z = i*(ПИ/2+k*ПИ) *)
Матем.код:=Матем.ОСОБЕННОСТЬ;
алгВид(0, Матем.МАКСВЕЩ, к)
КОН
КОН th;
(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
ЗАДАЧА Arsh-(z-,к+:Вид);
(* arsh(z) = -i*arcsin(i*z) *)
ПЕР
к1:Вид;
УКАЗ
умн(МНИМЕД,z,к1);
arcsin(к1,к);
умн(МНИМЕД,к,к1);
отр(к1,к)
КОН Arsh;
(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
ЗАДАЧА Arch-(z-,к+:Вид);
(* arch(z) = знак(y+i(1-x))*i*arccos(z) где z = x+iY *)
ПЕР
к1,к2:Вид;
УКАЗ
arccos(z,к);
умн(МНИМЕД,к,к1);
алгВид(z.y, 1-z.x, к2);
ЕСЛИ знак(к2) = -1 ТО
отр(к1,к)
ИНАЧЕ
к:=к1
КОН
КОН Arch;
(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
ЗАДАЧА Arth-(z-,к+:Вид);
(* arth(z) = -i*arctg(i*z) *)
ПЕР
к1:Вид;
УКАЗ
ЕСЛИ (МОДУЛЬ(z.x) = 1) И (z.y = 0) ТО (* z = +/- 1 *)
Матем.код:=Матем.ОСОБЕННОСТЬ;
алгВид(Матем.знак2(Матем.МАКСВЕЩ,z.x), 0, к);
ИНАЧЕ
умн(МНИМЕД,z,к1);
arctg(к1,к);
умн(МНИМЕД,к,к1);
отр(к1,к)
КОН
КОН Arth;
(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
ЗАДАЧА lnГприбл(z-,к+:Вид);
(* Это NBS приближение Г функции в области (9 < Re(z) < 10; 0 < Im(z) < 10).
* Другие значения можно получить из: ln Г(z+1) = ln z + ln Г(z) *)
ПЕР
i:ЦЕЛ;
степени:РЯД 8 ИЗ Вид;
врем1,врем2:Вид;
УКАЗ
ln(z,врем1); (* ln(z) *)
алгВид(z.x-0.5, z.y, врем2); (* z-0.5 *)
умн(врем1,врем2,к); (* (z-0.5)*ln(z) *)
выч(к,z,к); (* (z-0.5)*ln(z)-z *)
к.x:=к.x+0.91893853320467274178; (* (z-0.5)*ln(z)-z+ln(2*ПИ)/2 *)
врем1:=ОДИН;
дел(врем1,z,степени[0]); (* z(-1) *)
умн(степени[0],степени[0],врем2);(* z(-2) *)
ОТ i:=1 ДО 7 ВЫП
умн(степени[i-1],врем2,степени[i])
КОН;
ОТ i:=7 ДО 0 ПО -1 ВЫП
алгВид(NBS[i]*степени[i].x, NBS[i]*степени[i].y, врем1);
доб(к,врем1,к)
КОН
КОН lnГприбл;
(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
ЗАДАЧА lnГ-(z-,к+:Вид);
ПЕР
lnZ,к1,к2:Вид;
УКАЗ
ЕСЛИ (z.x <= 0) И (z.y = 0) ТО
ЕСЛИ (ЦЕЛЧАСТЬ(z.x-1.D-8)-z.x) = 0 ТО (* Отрицательное целое? *)
Матем.код:=Матем.ОСОБЕННОСТЬ;
к:=МАКСВЕЩ;
ВОЗВРАТ
КОН
КОН;
ЕСЛИ z.y < 0 ТО (* III (IV) квадрант? *)
сопр(z,к1); (* Отображение во II (I) квадрант *)
lnГ(к1,к2); (* Попытаемся вычислить здесь *)
сопр(к2,к) (* Обратное отображение *)
ИНАЧЕ
ЕСЛИ z.x < 9 ТО (* за пределами области определения NBS *)
ln(z,lnZ);
алгВид(z.x+1, z.y, к1);
lnГ(к1,к2);
выч(к2,lnZ,к)
ИНАЧЕ
lnГприбл(z,к) (* область определения NBS: 9 < Re(к) < 10 *)
КОН
КОН
КОН lnГ;
(*-ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss-*)
УКАЗ
NBS[0]:= 8.33333333333333D-02;
NBS[1]:=-2.77777777777778D-03;
NBS[2]:= 7.93650793650794D-04;
NBS[3]:=-5.95238095238095D-04;
NBS[4]:= 8.41750841750842D-04;
NBS[5]:=-1.91752691752692D-03;
NBS[6]:= 6.41025641025641D-03;
NBS[7]:=-2.95506535947712D-02;
алгВид(Матем.МАКСВЕЩ, 0, МАКСВЕЩ);
алгВид(0, 0, НОЛЬ);
алгВид(1, 0, ОДИН);
алгВид(0, 1, МНИМЕД);
алгВид(Матем.ПИ/2, 0, ПИД2)
КОН Компл.
|
|